Alt + F4 a Ctrl + Alt + Del

Otázka od: Petr Cafourek

12. 11. 2004 16:18

D6 Pro, Win2K a WinXP

Zdravim vsechny,
  vim, ze je to banalita, ale nevite nekdo prosim, jak zakazat v
aplikaci stisk klave Alt + F4 a Ctrl + Alt + Del?
  Nasel jsem neco na internetu, ale vubec to nefunguje.

S pozdravem,
 Petr Cafourek
 mailto:petr.cafourek.d7@seznam.cz


Odpovedá: Bronislav Klucka

12. 11. 2004 18:37

To nejde, jediny prepsat si gina.dll a to neni zrovna sranda... takze to
nejde.

Brona

>D6 Pro, Win2K a WinXP
>
>Zdravim vsechny,
> vim, ze je to banalita, ale nevite nekdo prosim, jak zakazat v
>aplikaci stisk klave Alt + F4 a Ctrl + Alt + Del?
> Nasel jsem neco na internetu, ale vubec to nefunguje.
>
>S pozdravem,
> Petr Cafourek
> mailto:petr.cafourek.d7@seznam.cz
>
>
>
>
>


Odpovedá: Jaroslav Uher

12. 11. 2004 18:47

On 12 Nov 2004 at 16:18, Petr Cafourek wrote:

> D6 Pro, Win2K a WinXP
>
> Zdravim vsechny,
> vim, ze je to banalita, ale nevite nekdo prosim, jak zakazat v
> aplikaci stisk klave Alt + F4 a Ctrl + Alt + Del?

Alt+F4 bych vedel
v OnCreate:

var
  hMenuHandle: HMENU;
begin
  inherited;
   // disabled crossbutton
   hMenuHandle := GetSystemMenu(Handle, FALSE);
   if (hMenuHandle <> 0) then
     EnableMenuItem (hMenuHandle, SC_CLOSE,MF_BYCOMMAND or
MF_GRAYED);
 
end;

Takto resime edit. formy, aby user muset pouzit jen tlacika
OK/Cancel.

Jarek Uher


Odpovedá: Jiri Cincura

13. 11. 2004 0:36

Bronislav Klucka wrote:
> To nejde, jediny prepsat si gina.dll a to neni zrovna sranda... takze to
> nejde.

Ja to zkousel. A nahodou je to velka sranda.   Ale chce to jeste jeden
stroj na testovani.

No a muj vysledek byl zadny. Nic moc se mi nepodarilo rozchodit.   A hlavni
problem je s tim, ze ne kazdy chce mit potecialni diru v systemu.

--
  Jiri Cincura
  e-mail: mailto:jiri@cincura.net; | http://www.cincura.net/
  mailto:xcincura@informatics.muni.cz | http://photo.cincura.net/
   ICQ: 314711544 | http://phorum.cincura.net/
 ---
  And if our times are difficult and perplexing,
  so are they challenging and filled with opportunity.
                                            -Robert F. Kennedy, 1961


Odpovedá: Petr Cafourek

15. 11. 2004 8:15

V postate to, co potrebuji je to, aby uzivatel nemohl vypnout aplikaci
jinak, nez mnou povolenou metodou. Da se to udelat nejak jinak?


> On 12 Nov 2004 at 16:18, Petr Cafourek wrote:

>> D6 Pro, Win2K a WinXP
>>
>> Zdravim vsechny,
>> vim, ze je to banalita, ale nevite nekdo prosim, jak zakazat v
>> aplikaci stisk klave Alt + F4 a Ctrl + Alt + Del?

> Alt+F4 bych vedel
> v OnCreate:

> var
> hMenuHandle: HMENU;
> begin
> inherited;
> // disabled crossbutton
> hMenuHandle := GetSystemMenu(Handle, FALSE);
> if (hMenuHandle <> 0) then
> EnableMenuItem (hMenuHandle, SC_CLOSE,MF_BYCOMMAND or
> MF_GRAYED);
 
> end;

> Takto resime edit. formy, aby user muset pouzit jen tlacika
> OK/Cancel.

> Jarek Uher




--
S pozdravem,
 Petr Cafourek
 mailto:petr.cafourek.d7@seznam.cz


Odpovedá: Jiri Cincura

15. 11. 2004 8:33

Petr Cafourek wrote:
> V postate to, co potrebuji je to, aby uzivatel nemohl vypnout aplikaci
> jinak, nez mnou povolenou metodou. Da se to udelat nejak jinak?
>

A co je tebou povolena metoda?

Nejde vse zakazat. Aby treba system mohl app. vypnout, nebo se o to aspon
pokusit.

--
  Jiri Cincura
  e-mail: mailto:jiri@cincura.net; | http://www.cincura.net/
  mailto:xcincura@informatics.muni.cz | http://photo.cincura.net/
   ICQ: 314711544 | http://phorum.cincura.net/
 ---
  And if our times are difficult and perplexing,
  so are they challenging and filled with opportunity.
                                            -Robert F. Kennedy, 1961



Odpovedá: petr palicka

15. 11. 2004 9:19

Petr Cafourek wrote:

> V postate to, co potrebuji je to, aby uzivatel nemohl vypnout aplikaci
> jinak, nez mnou povolenou metodou. Da se to udelat nejak jinak?

co takhle osetrit si to v OnCloseQuery?

Peca


Odpovedá: Tomas Krejzek

15. 11. 2004 9:39


Taky si myslim ze je tohle lepsi reseni, system neni zas takovy nasilnik
jak si myslis, nejdriv posle tve aplikaci zpravu ze ma byt uzavrena,
pokud tva aplikace neni v nejakem kvazistavu, muzes tuhle zpravu
odchytit a bez dotazu oznamit ze nechces skoncit. Ale stoprocentni
obrana to neni, to by byly ty Windows uplne na prd kdyby ti nemohli
sestrelit aplikaci kdyby se trebas nekde zacyklila
Tom

>co takhle osetrit si to v OnCloseQuery?
>
>Peca
>
>
>
>
>
>



Odpovedá: Jakub Cermak

15. 11. 2004 19:37

Nebo zkusit pouzit spywarove metody - 2 aplikace, kdy kazda kontroluje stav
te druhe, a kdyztak ji znova spusti   Neni to nejlepsi reseni ale aspon
neco.

Jakub Cermak
ja.cermi@centrum.cz

----- Original Message -----
From: "Petr Cafourek" <petr.cafourek.d7@seznam.cz>
To: <delphi-l@clexpert.cz>
Sent: Monday, November 15, 2004 8:14 AM
Subject: Re: Alt + F4 a Ctrl + Alt + Del


>V postate to, co potrebuji je to, aby uzivatel nemohl vypnout aplikaci
> jinak, nez mnou povolenou metodou. Da se to udelat nejak jinak?
>
>
>> On 12 Nov 2004 at 16:18, Petr Cafourek wrote:
>
>>> D6 Pro, Win2K a WinXP
>>>
>>> Zdravim vsechny,
>>> vim, ze je to banalita, ale nevite nekdo prosim, jak zakazat v
>>> aplikaci stisk klave Alt + F4 a Ctrl + Alt + Del?
>
>> Alt+F4 bych vedel
>> v OnCreate:
>
>> var
>> hMenuHandle: HMENU;
>> begin
>> inherited;
>> // disabled crossbutton
>> hMenuHandle := GetSystemMenu(Handle, FALSE);
>> if (hMenuHandle <> 0) then
>> EnableMenuItem (hMenuHandle, SC_CLOSE,MF_BYCOMMAND or
>> MF_GRAYED);
>
>> end;
>
>> Takto resime edit. formy, aby user muset pouzit jen tlacika
>> OK/Cancel.
>
>> Jarek Uher
>
>
>
>
> --
> S pozdravem,
> Petr Cafourek
> mailto:petr.cafourek.d7@seznam.cz
>
>
>
>
>


Odpovedá: Petr Cafourek

16. 11. 2004 10:17

Dobry den,
15. listopadu 2004, 8:32:46, napsal jste:

> Petr Cafourek wrote:
>> V postate to, co potrebuji je to, aby uzivatel nemohl vypnout aplikaci
>> jinak, nez mnou povolenou metodou. Da se to udelat nejak jinak?
>>

> A co je tebou povolena metoda?

> Nejde vse zakazat. Aby treba system mohl app. vypnout, nebo se o to aspon
> pokusit.


Jde o to, ze by aplikaci smel vypnout jen admin. A to pres form, ktery
je zaheslovany a obsahuje administracni nastaveni. Od jinud bych
potreboval, aby aplikace vypnout nesla.

--
S pozdravem,
 Petr Cafourek
 mailto:petr.cafourek.d7@seznam.cz


Odpovedá: delphin@post.cz

16. 11. 2004 10:41

> Jde o to, ze by aplikaci smel vypnout jen admin. A to pres form, ktery
> je zaheslovany a obsahuje administracni nastaveni. Od jinud bych
> potreboval, aby aplikace vypnout nesla.

Tohle jde resit v OnCloseQuery, ale stejne z TaskManageru aplikace pujde
sestrelit.

Dalsi moznost je cast aplikace, ktera ma bezet porad, prepsat jako sluzbu.
Bezny User nema k rizeni sluzeb pristup, administrator ano.


Odpovedá: Libor Janecek

16. 11. 2004 18:03

>Tohle jde resit v OnCloseQuery, ale stejne z TaskManageru aplikace pujde
>sestrelit.

>Dalsi moznost je cast aplikace, ktera ma bezet porad, prepsat jako sluzbu.
>Bezny User nema k rizeni sluzeb pristup, administrator ano.



Co udelat jeste jeden program, ktery spusti tvoji aplikaci v kontextu
admistratora. Uzivatel bez opravneni administratora nema opravneni ukoncit
process vytvoreny v jinem bezpecnostnim kontextu. Neco ve smyslu RunAs user.
Viz API CreateProcesssAsUser


PS : Pokud to neni adminstator, tak taskman.exe nema sanci




Libor.J



Odpovedá: Libor Janecek

16. 11. 2004 18:22

Omlouvam se.

Je to CreateProcessWithLogonW


Libor.J

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
Behalf Of Libor Janecek
Sent: Tuesday, November 16, 2004 6:03 PM
To: delphi-l@clexpert.cz
Subject: Re: Alt + F4 a Ctrl + Alt + Del

>Tohle jde resit v OnCloseQuery, ale stejne z TaskManageru aplikace pujde
>sestrelit.

>Dalsi moznost je cast aplikace, ktera ma bezet porad, prepsat jako sluzbu.
>Bezny User nema k rizeni sluzeb pristup, administrator ano.



Co udelat jeste jeden program, ktery spusti tvoji aplikaci v kontextu
admistratora. Uzivatel bez opravneni administratora nema opravneni ukoncit
process vytvoreny v jinem bezpecnostnim kontextu. Neco ve smyslu RunAs user.
Viz API CreateProcesssAsUser


PS : Pokud to neni adminstator, tak taskman.exe nema sanci




Libor.J




Odpovedá: Vlko II.

17. 11. 2004 13:59

On Tue, 16 Nov 2004 10:16:43 +0100, Petr Cafourek
<petr.cafourek.d7@seznam.cz> wrote:

> Jde o to, ze by aplikaci smel vypnout jen admin. A to pres form, ktery
> je zaheslovany a obsahuje administracni nastaveni. Od jinud bych
> potreboval, aby aplikace vypnout nesla.

Ja som robil web browser pre kiosk a vyriesil som to naslednym sposobom:
1. aplikacia bezi ako shell replacer
2. aplikacia v closequery osetruje zatvorenie cez atl+f4
3. aplikacia zakazuje spustenie taskmanagera a vsetkych odlogovacich apod
    serepeticiek cez registre
4. v pravidelnych intervaloch zatvara (presnejsie zhadzuje) vsetky app
ktore
    nevyhovuju urcitym podmienkam.

Funguje to ale len na w2k a wXP. Aplikacia bezi v ostrej prevadzke cca 3
mesiace a
zakaznik je s nou velmi spokojny (ved ju ma zadarmo . Jedine co treba je
raz za den
restartnut pc, pretoze je to web browser na jadre IE a obcas to proste
zmrzne. Chyba
ale nie je v mojej app .

Ak je ale potreba spustat aj ine applikacie najlepsim sposobom je zakazat
taskmanager
a nech bezi ako service. Alebo este jednoduchsie je spustat service pod
administratorom
a uzivatel, s urcitymy obmedzeniami nema pravomoci applikaciu zhodit.
Ciest je viacero
zalezi na konkretnej situacii a samozrejme su to riesenia pre w2k a wxp.

vlko

BTW: Ak ma niekto zaujem app mozem zaslat.



--


--------------
mail: vlko_@pobox.sk
web: http://vlko.zilina.net

Odpovedá: Vlastimil Burian

18. 11. 2004 8:08

opkud chces zakazat Alt + F4 a Ctrl + Alt + Del pouze v ramci dane aplikace
tak to neni zas tak velky problem ... zavreni pomoci alt f4 pochopitelne
vyvolava onclosequery ... ve kterem muzes zakazat zavreni za prve, za druhe
potom abys vedel ze uzivatek zmackl prave alt f4 tak muzes v udalosti pro
dane prvky (formular, tlacitka ...) onkeydown testovat klavesy a pak si do
glob. prom. ulozit do boolean prom. jestli ano, ne ... jeden z mnoha zpusobu
....


co se tyce toho alrt + ctrl + del tak to uz tak lehky neni ... musis v
nejakym tiomeru testovat jestli exist. okno task managera ...

if findwindow("spravce udalosti", ...) nebo nejak tak .... samozrejme to pak
ale funguje jenom na ceskych windows ale je to nejjednodussi reseni ...
kdyztaxe ozvi



> > Zdravim vsechny,
> > vim, ze je to banalita, ale nevite nekdo prosim, jak zakazat v
> > aplikaci stisk klave Alt + F4 a Ctrl + Alt + Del?


Odpovedá: Petr Cafourek

18. 11. 2004 9:12

To by sice slo, ale jedna se o to, ze prava uzivatelu nejsou stanovena
pomoci windows, ale me aplikace. Jedna se o pomerne rozsahly system a
spolehat se na windows mi neprislo idealni, zvlaste kdyz na jednom
pocitaci, v jednom uzivatelskem prihlaseni muze pracovat nekolik lidi.
Tzn. ze ADMIN v mem pripade muze byt i obycejny USER.

>>Tohle jde resit v OnCloseQuery, ale stejne z TaskManageru aplikace pujde
>>sestrelit.

>>Dalsi moznost je cast aplikace, ktera ma bezet porad, prepsat jako sluzbu.
>>Bezny User nema k rizeni sluzeb pristup, administrator ano.



> Co udelat jeste jeden program, ktery spusti tvoji aplikaci v kontextu
> admistratora. Uzivatel bez opravneni administratora nema opravneni ukoncit
> process vytvoreny v jinem bezpecnostnim kontextu. Neco ve smyslu RunAs user.
> Viz API CreateProcesssAsUser


> PS : Pokud to neni adminstator, tak taskman.exe nema sanci




> Libor.J






--
S pozdravem,
 Petr Cafourek
 mailto:petr.cafourek.d7@seznam.cz


Odpovedá: Petr Cafourek

18. 11. 2004 9:16

Dobry den,
17. listopadu 2004, 13:58:48, napsal jste:

> On Tue, 16 Nov 2004 10:16:43 +0100, Petr Cafourek
> <petr.cafourek.d7@seznam.cz> wrote:

>> Jde o to, ze by aplikaci smel vypnout jen admin. A to pres form, ktery
>> je zaheslovany a obsahuje administracni nastaveni. Od jinud bych
>> potreboval, aby aplikace vypnout nesla.

> Ja som robil web browser pre kiosk a vyriesil som to naslednym sposobom:
> 1. aplikacia bezi ako shell replacer
> 2. aplikacia v closequery osetruje zatvorenie cez atl+f4
> 3. aplikacia zakazuje spustenie taskmanagera a vsetkych odlogovacich apod
> serepeticiek cez registre
> 4. v pravidelnych intervaloch zatvara (presnejsie zhadzuje) vsetky app
> ktore
> nevyhovuju urcitym podmienkam.

> Funguje to ale len na w2k a wXP. Aplikacia bezi v ostrej prevadzke cca 3
> mesiace a
> zakaznik je s nou velmi spokojny (ved ju ma zadarmo . Jedine co treba je
> raz za den
> restartnut pc, pretoze je to web browser na jadre IE a obcas to proste
> zmrzne. Chyba
> ale nie je v mojej app .

> Ak je ale potreba spustat aj ine applikacie najlepsim sposobom je zakazat
> taskmanager
> a nech bezi ako service. Alebo este jednoduchsie je spustat service pod
> administratorom
> a uzivatel, s urcitymy obmedzeniami nema pravomoci applikaciu zhodit.
> Ciest je viacero
> zalezi na konkretnej situacii a samozrejme su to riesenia pre w2k a wxp.

> vlko

> BTW: Ak ma niekto zaujem app mozem zaslat.




A mohl bys me prosim trosku nakopnout, jak zakazat TaskMngr a udelat z
aplikace shell replacer? A pokud bys byl tak hodny, rad bych se na
Tvou aplikaci podival.

--
S pozdravem,
 Petr Cafourek
 mailto:petr.cafourek.d7@seznam.cz


Odpovedá: Petr Cafourek

18. 11. 2004 9:20

Dobry den,
18. listopadu 2004, 8:08:06, napsal jste:

> opkud chces zakazat Alt + F4 a Ctrl + Alt + Del pouze v ramci dane aplikace
> tak to neni zas tak velky problem ... zavreni pomoci alt f4 pochopitelne
> vyvolava onclosequery ... ve kterem muzes zakazat zavreni za prve, za druhe
> potom abys vedel ze uzivatek zmackl prave alt f4 tak muzes v udalosti pro
> dane prvky (formular, tlacitka ...) onkeydown testovat klavesy a pak si do
> glob. prom. ulozit do boolean prom. jestli ano, ne ... jeden z mnoha zpusobu
> ....


> co se tyce toho alrt + ctrl + del tak to uz tak lehky neni ... musis v
> nejakym tiomeru testovat jestli exist. okno task managera ...

> if findwindow("spravce udalosti", ...) nebo nejak tak .... samozrejme to pak
> ale funguje jenom na ceskych windows ale je to nejjednodussi reseni ...
> kdyztaxe ozvi



>> > Zdravim vsechny,
>> > vim, ze je to banalita, ale nevite nekdo prosim, jak zakazat v
>> > aplikaci stisk klave Alt + F4 a Ctrl + Alt + Del?



Ja vim, ze je to krajne zacatecnicka otazka, ale muzes mi trosku
priblizit, jak zakazat v OnCloseQuery zakazu vypnuti aplikace?
Nikdy jsem to neresil a nenapada me, jak to udelat.

--
S pozdravem,
 Petr Cafourek
 mailto:petr.cafourek.d7@seznam.cz


Odpovedá: petr palicka

18. 11. 2004 9:31

> Ja vim, ze je to krajne zacatecnicka otazka, ale muzes mi trosku
> priblizit, jak zakazat v OnCloseQuery zakazu vypnuti aplikace?
> Nikdy jsem to neresil a nenapada me, jak to udelat.

staci si dat F1 (=help) na udalosti OnCloseQuery.
mezi parametry predanymi volane metode je i jeden, jehoz nastaveni
ovlivnuje, zda se alikace ukonci ci nikoli. neco jako CanClose, nebo tak
neco...

Peca


Odpovedá: petr palicka

18. 11. 2004 9:33

Petr Cafourek wrote:

> To by sice slo, ale jedna se o to, ze prava uzivatelu nejsou stanovena
> pomoci windows, ale me aplikace. Jedna se o pomerne rozsahly system a
> spolehat se na windows mi neprislo idealni, zvlaste kdyz na jednom
> pocitaci, v jednom uzivatelskem prihlaseni muze pracovat nekolik lidi.
> Tzn. ze ADMIN v mem pripade muze byt i obycejny USER.

proti vetru se holt moci dost spatne  
zas tak moc se to nevylucuje. bezny uzivatel tu tvoji aplikaci
nesestreli a musi pouzit tebou definovany postup.
admin je predpokladam natolik inteligentni, aby dokazal pochopit, jak ma
tvoji aplikaci ukoncit a sebrat mu moznost vladnout systemu proste
nemuzes. on je admin, on je panem nad strojem a systemem, tato prava mu
nemuzes odepirat jenom proto, ze se ti to nehodi pro jednu aplikaci. (to
je to curani proti vetru).

moana by bylo lepsi to korektni ukonce zakomponovat do toho
onclosequery, aby se ukoncila korektne, i kdyz ji admin strili z task
manageru.

Peca


Odpovedá: Vlastimil Burian

18. 11. 2004 10:48


> Ja vim, ze je to krajne zacatecnicka otazka, ale muzes mi trosku
> priblizit, jak zakazat v OnCloseQuery zakazu vypnuti aplikace?
> Nikdy jsem to neresil a nenapada me, jak to udelat.

uvnitr onclosequery je vnitrni prom. CanClose ... staci dat CanClose =
false;


Odpovedá: Vlastimil Burian

18. 11. 2004 10:54



> V postate to, co potrebuji je to, aby uzivatel nemohl vypnout aplikaci
> jinak, nez mnou povolenou metodou. Da se to udelat nejak jinak?

ted sem si teprve precetl tenhle tvuj starsi prispevek - kdyz chces zavrit
apl. pouze na tvuj popud tak je to o oto jednodussi ... staci teda v tom
onclosequery dat neco jako ...
if not /podminky/ then canclose := false;

nejlepsi je pak testovat modalresult formulare ... kdyz to bude hlavni
formular taxe po zmene modalresultu nezavre takze se pak nemusis starat
skoro o nic  


Odpovedá: Libor Janecek

18. 11. 2004 13:55

> V postate to, co potrebuji je to, aby uzivatel nemohl vypnout aplikaci
> jinak, nez mnou povolenou metodou. Da se to udelat nejak jinak?

>ted sem si teprve precetl tenhle tvuj starsi prispevek - kdyz chces zavrit
>apl. pouze na tvuj popud tak je to o oto jednodussi ... staci teda v tom
>onclosequery dat neco jako ...
>if not /podminky/ then canclose := false;

>nejlepsi je pak testovat modalresult formulare ... kdyz to bude hlavni
>formular taxe po zmene modalresultu nezavre takze se pak nemusis starat
>skoro o nic  



V jakych Windows to pobezi ? Kazdou aplikaci, kterou ke ktere mas pristupove
pravo, nejak sestrelis, bez ohledu na OnCloseQuery. Viz kill.exe


Libor J


Odpovedá: Petr Cafourek

18. 11. 2004 15:57

Dobry den,
18. listopadu 2004, 13:55:07, napsal jste:

>> V postate to, co potrebuji je to, aby uzivatel nemohl vypnout aplikaci
>> jinak, nez mnou povolenou metodou. Da se to udelat nejak jinak?

>>ted sem si teprve precetl tenhle tvuj starsi prispevek - kdyz chces zavrit
>>apl. pouze na tvuj popud tak je to o oto jednodussi ... staci teda v tom
>>onclosequery dat neco jako ...
>>if not /podminky/ then canclose := false;

>>nejlepsi je pak testovat modalresult formulare ... kdyz to bude hlavni
>>formular taxe po zmene modalresultu nezavre takze se pak nemusis starat
>>skoro o nic  



> V jakych Windows to pobezi ? Kazdou aplikaci, kterou ke ktere mas pristupove
> pravo, nejak sestrelis, bez ohledu na OnCloseQuery. Viz kill.exe


> Libor J



Budou to WinXP a Win2k

--
S pozdravem,
 Petr Cafourek
 mailto:petr.cafourek.d7@seznam.cz